অ্যাপাচি টিকা (Apache Tika) এবং অ্যাপাচি সলর (Apache Solr) একসাথে ব্যবহার করে ফাইল থেকে ডেটা এক্সট্রাক্ট করে সার্চ ইঞ্জিনে ইনডেক্স করা যায়। এটি বিশেষভাবে কন্টেন্ট ইনডেক্সিং, র্যাপিড সার্চ এবং ডেটা বিশ্লেষণের জন্য কার্যকরী সমাধান।
Apache Tika এবং Apache Solr এর ভূমিকা
Apache Tika
অ্যাপাচি টিকা বিভিন্ন ফরম্যাটের ফাইল থেকে টেক্সট এবং মেটাডেটা এক্সট্রাক্ট করার জন্য ব্যবহৃত হয়।
Apache Solr
অ্যাপাচি সলর হলো একটি এন্টারপ্রাইজ সার্চ প্ল্যাটফর্ম যা অ্যাপাচি লুসিন (Apache Lucene) ইঞ্জিনের উপর ভিত্তি করে তৈরি। এটি ইনডেক্স করা ডেটা থেকে দ্রুত সার্চ রেজাল্ট প্রদান করতে পারে।
কেন Tika এবং Solr একসাথে ব্যবহার করবেন?
- ফাইল প্রসেসিং এবং ইনডেক্সিং: ফাইল থেকে ডেটা এক্সট্রাক্ট করে Solr-এ ইনডেক্স করা যায়।
- ডকুমেন্ট সার্চ: পিডিএফ, ওয়ার্ড, ইমেজসহ বিভিন্ন ফাইলের কন্টেন্ট সার্চযোগ্য হয়।
- স্বয়ংক্রিয় ও স্কেলেবল: বড় আকারের ডেটা সেটেও কার্যকরভাবে কাজ করে।
Apache Tika এবং Solr ইন্টিগ্রেশন প্রসেস
১. Solr এবং Tika ইনস্টলেশন
Solr ইনস্টলেশন (Linux):
wget https://downloads.apache.org/solr/solr-8.11.0.tgz
tar xzf solr-8.11.0.tgz
solr-8.11.0/bin/solr start
Tika Server ইনস্টলেশন:
wget https://downloads.apache.org/tika/tika-server-x.x.jar
java -jar tika-server-x.x.jar
২. Solr এবং Tika কনফিগারেশন
Solr Managed Schema কনফিগারেশন:
Solr-এর schema.xml বা ম্যানেজড স্কিমায় এমন ফিল্ড তৈরি করতে হবে যা Tika থেকে এক্সট্রাক্ট হওয়া টেক্সট এবং মেটাডেটা সংরক্ষণ করবে।
<field name="id" type="string" indexed="true" stored="true" required="true" />
<field name="content" type="text_general" indexed="true" stored="true" multiValued="false" />
<field name="metadata_author" type="string" indexed="true" stored="true" />
<field name="metadata_title" type="string" indexed="true" stored="true" />
৩. Tika এবং Solr এর মাধ্যমে ফাইল ইনডেক্স
Solr ExtractingRequestHandler ব্যবহার
Solr-এ Tika ইন্টিগ্রেট করার জন্য ExtractingRequestHandler ব্যবহার করা হয়। এটি Tika দিয়ে ফাইল প্রসেস করে টেক্সট এক্সট্রাক্ট করে এবং ইনডেক্স করে।
solrconfig.xml-এ ExtractingRequestHandler যুক্ত করুন:
<requestHandler name="/update/extract" class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<str name="lowernames">true</str>
<str name="fmap.content">content</str>
<str name="fmap.Author">metadata_author</str>
<str name="fmap.dc:title">metadata_title</str>
<str name="uprefix">ignored_</str>
<str name="captureAttr">true</str>
<str name="literal.id">doc1</str>
</lst>
</requestHandler>
ফাইল ইনডেক্স করার কমান্ড
একটি পিডিএফ বা অন্য কোনো ফাইল Solr-এ আপলোড ও ইনডেক্স করতে নিচের কমান্ড ব্যবহার করুন।
cURL কমান্ড উদাহরণ:
curl "http://localhost:8983/solr/your_core/update/extract?literal.id=doc1&commit=true" -F "myfile=@example.pdf"
ব্যাখ্যা:
update/extract: Solr-এর extracting request handler।myfile=@example.pdf: ফাইল আপলোড পাথ।literal.id: ডকুমেন্ট আইডি।commit=true: ইনডেক্স আপডেট নিশ্চিত করে।
৪. Solr Query দিয়ে ডেটা সার্চ
ফাইল ইনডেক্স হওয়ার পর Solr query দিয়ে কন্টেন্ট সার্চ করা যায়।
উদাহরণ Query:
http://localhost:8983/solr/your_core/select?q=content:your_search_text
Output:
Solr কন্টেন্ট থেকে প্রাসঙ্গিক সার্চ রেজাল্ট রিটার্ন করবে।
সারাংশ
Apache Tika এবং Apache Solr এর ইন্টিগ্রেশন আপনাকে ফাইল প্রসেসিং এবং ইনডেক্সিং সহজ করতে সাহায্য করে। Tika ফাইল থেকে টেক্সট এবং মেটাডেটা এক্সট্রাক্ট করে Solr-এ পাঠায়, আর Solr সেই ডেটা দ্রুত সার্চযোগ্য করে তোলে। এটি ডকুমেন্ট ম্যানেজমেন্ট, সার্চ ইঞ্জিন এবং ডেটা প্রসেসিং অ্যাপ্লিকেশনের জন্য একটি নিখুঁত সমাধান।